The present invention relates generally to Computer Aided Design (CAD) systems. More particularly the invention relates to a system for customizing a CAD model representing a mechanical design of an artifact. It is here presumed that the artifact contains a set of parts with respective dimensions, and that a configuration model defines an exhaustive range of ways to customize the CAD model. Specifically, the customization involves changing a subset of the dimensions in the set of parts.
The invention also relates to a method of customizing a CAD model, a computer program product and a computer readable medium.
CAD systems for mechanical engineering have existed for many decades. In this document, the term “CAD system” is based on a 3-dimensional (3D) model of a product geometry. Hence, a CAD model of a mechanical product is an assembly of parts, where each part has a 3D shape defined by solid features with various dimensions. The parts and the assembly can be modeled to a level of detail, which is sufficient for precision fabrication of the parts and the assembly, and to predict their physical behavior. Pro/ENGINEER by Parametric Technology Corporation (www.ptc.com), SolidWorks and CATIA by Dassault Systèmes (www.3ds.com), and Inventor by AutoDesk (www.autodesk.com) represent 3D-CAD systems for mechanical engineering to which the present invention is applicable. These systems also provide direct integrations to Computer Aided Manufacturing (CAM) systems, which renders it possible to automatically fabricate physical artifacts according to the 3D-CAD model, e.g. by using Computer Numerically Controlled (CNC) machines. Generally, the accuracy of a 3D-CAD model is also sufficient for computer software to calculate accurate predictions of the physical behavior of the corresponding physical artifact.
CAD models are created by engineers using the CAD systems. Thus, an engineer may generate the model by defining all the features and dimensions of all the parts included, and define how these elements shall be assembled into a product. Preferably, the system also allows the engineer to include parts, or sub-assemblies, that have already been defined in a CAD system by other parties.
Usually, there is a need to customize an existing CAD model. For example, different users of the physical artifact may require a respective customized version of the artifact, which is adapted to their specific use of the artifact. The customization may be accomplished manually by a designer, through a modification of the CAD model, e.g. by changing some of the dimensions of a number of the parts in the CAD model, by replacing parts with other alternative parts with other characteristics, and/or by suppressing or unsuppressing parts therein (i.e. revealing parts having been temporarily hidden). For instance, in a CAD model, a dimension may be the distance between two points, an angle, or a coordinate system position. Traditionally, CAD systems have had the ability to perform such changes with a high degree of automation. If a dimension is changed, or a part is replaced, the remainder of the CAD model and the associated drawings can be automatically updated by the CAD system, and a 3D image of the customized product is automatically rendered. This allows the user to browse the 3D image and review that the changes are correct.
However, normally, a large number of changes are required in order to customize the CAD model as desired. Moreover, there may be a vast number of dependencies between such changes. This means that there is a relatively large risk that a combination of changes results in a CAD model of a product, which cannot be assembled or that will not work properly. These difficulties render it a very time consuming process for the designer to manually customize the CAD model correctly.
As an attempt to address these difficulties, many of today's CAD systems have built-in programming tools for enabling a program to be designed, which program automatically performs all the changes needed to customize the CAD model based on a predefined form. Hence, a customer's requirements can be captured in terms of a set of predefined parameters with a finite set of possible values. These programming tools utilize what we herein call a “CAD interface”, which is provided by the CAD system, a so-called Application Programming Interface (API). This interface renders it possible for a program to perform the same type of changes as a designer can make manually (i.e. having the same automatic update of the CAD model, and allowing the designer to review the changes directly in the CAD system as if he had made the modifications manually). In addition to built-in programming tools, there are also third party vendors, such as DriveWorks (www.driveworks.co.uk) and RuleStream (www.rulestream.com) offering solutions for programming the customization of CAD models using the CAD interface.
The existing solutions for automatically customizing a CAD model often allow the user to define a procedure of rules for customizing the design based on predefined parameters, which can be entered by the designer running the procedure in order to define the specific customer requirements for customization. However, this is disadvantageous because (a) it is very difficult to define a procedure which will always comply with the dependencies between the changes prescribed by the procedure, and which also represents an optimal customization of the product for the specific customer requirements; and (b) the designer running the procedure to automate his/her customization work must follow the same sequence of entering parameters to define the specific customer requirements. This causes difficulties for the designer when make trade-offs between incompatible parameter value choices. Furthermore, the designer must enter values for all parameters even though a subset of these parameters may be unspecified by the customer. This, in turn, means that it is an intricate task for the designer to customize the product in an optimal manner.
The published U.S. Patent Application No. 2005/0071135 describes a knowledge management system for CAD modeling, wherein rules for modeling geometric objects are applied. The published U.S. Patent Application No. 2002/0156698 discloses a process for configuring products on a personal computer. Here, a designer may use menus to select components to be included in a given product.
Although the solutions described in these references may be advantageous for various reasons, none of the documents describes or proposes modifying the CAD model based on a formal constraint satisfaction approach. The known solutions cannot guarantee that the resulting CAD model is globally optimal in respect of a predefined criterion either.